/*
 * RtmpMediaCaster.h
 *
 *  Created on: 2016年9月15日
 *      Author: zhengboyuan
 */

#ifndef RTMPMEDIACASTER_H_
#define RTMPMEDIACASTER_H_

#include "MediaStream.h"
#include "RtmpCaster.h"


namespace av
{

class RtmpMediaCaster
{
public:
	virtual ~RtmpMediaCaster() {}

	virtual int open(const MediaFormat& fmt, const std::string& url) =0;

	virtual void close() =0;

	virtual bool isOpen() =0;

	virtual void write(MediaPacketPtr& pkt) =0;

	virtual void setCallback(CasterEventCallback cb, void* context) =0;

	virtual void setID(caster_t id) =0;

	virtual caster_t getID() =0;


};



} /* namespace av */

#endif /* RTMPMEDIACASTER_H_ */
